﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using OOAD_PROJEKAT;
using Xceed.Wpf.Toolkit;
using System.Threading;
using System.Windows.Threading;

namespace Main_application
{
    public partial class Direktor : Window
    {
        public Direktor()
        {
            InitializeComponent();

            pop.Height = 20;
            pop.Width = 120;
            pop.Minimum = 0;
            pop.Maximum = 100000;
            pop.Value = 0;
            pop.Increment = 1;
            mreza.Children.Add(pop);
            Grid.SetColumn(pop, 3);
            Grid.SetRow(pop, 2);

            police.Height = 20;
            police.Width = 120;
            police.Minimum = 0;
            police.Maximum = 100000;
            police.Value = 0;
            police.Increment = 1;
            mreza1.Children.Add(police);
            Grid.SetColumn(police, 3);
            Grid.SetRow(police, 1);

            trazene.Height = 20;
            trazene.Width = 120;
            trazene.Minimum = 0;
            trazene.Maximum = 100000;
            trazene.Value = 0;
            trazene.Increment = 1;
            mreza1.Children.Add(trazene);
            Grid.SetColumn(trazene, 3);
            Grid.SetRow(trazene, 0);

            iskoristene.Height = 20;
            iskoristene.Width = 120;
            iskoristene.Minimum = 0;
            iskoristene.Maximum = 100000;
            iskoristene.Value = 0;
            iskoristene.Increment = 1;
            mreza1.Children.Add(iskoristene);
            Grid.SetColumn(iskoristene, 1);
            Grid.SetRow(iskoristene, 1);




            DAL.DAL d = DAL.DAL.Instanca;
            d.kreirajKonekciju("localhost", "osiguranje", "root", "");

            DAL.DAL.FilijalaDAO oz = new DAL.DAL.FilijalaDAO();
            List<Filijala> fily = oz.getAll();
            foreach (Filijala f in fily)
                filijale.Items.Add(f);

            ucitajZahtjeve();


        }

        IntegerUpDown pop = new IntegerUpDown();
        IntegerUpDown police = new IntegerUpDown();
        IntegerUpDown trazene = new IntegerUpDown();
        IntegerUpDown iskoristene = new IntegerUpDown();

        public void ucitajZahtjeve()
        {
            Thread t = new Thread(new ThreadStart(delegate
            {
                this.Dispatcher.BeginInvoke((Action)delegate
                {
                    try
                    {
                        DAL.DAL d = DAL.DAL.Instanca;
                        d.kreirajKonekciju("localhost", "osiguranje", "root", "");
                        DAL.DAL.zahtjevDAO sd1 = d.getDAO.getZahtjevDAO();
                        List<zahtjevPolice> vid1 = sd1.getAll();


                        
                        pzahtjevi.Items.Clear();
                        foreach (zahtjevPolice v in vid1)
                        {
                            
                            if (odobreniCh.IsChecked.Value == true && v.Odobrena == true && !pzahtjevi.Items.Contains(v))
                                pzahtjevi.Items.Add(v);
                            else if (noviCh.IsChecked.Value == true && v.Odobrena == false && !pzahtjevi.Items.Contains(v))
                                pzahtjevi.Items.Add(v);
                        }

                        


                    }
                    catch (Exception exx)
                    {
                        global::System.Windows.MessageBox.Show(exx.Message);
                    }
                });

            }));
            t.IsBackground = true;
            t.Start();
        }

        public void obrisi_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                foreach (Button b in prob.Children)
                {
                    if (b.FontWeight == FontWeights.Bold)
                    {
                        DAL.DAL.PreuzimacDAO ka = new DAL.DAL.PreuzimacDAO();
                        DAL.DAL.ITSektorRadnikDAO ka1 = new DAL.DAL.ITSektorRadnikDAO();
                        DAL.DAL.OZaposlenikDAO ka2 = new DAL.DAL.OZaposlenikDAO();
                        DAL.DAL.EFSRadnikDAO ka3 = new DAL.DAL.EFSRadnikDAO();
                        prob.Children.Remove(b);
                        if (preuzimaci != null)
                            for (int i = 0; i < preuzimaci.Count; i++)
                            {
                                if (preuzimaci[i].Id.ToString() == b.ToolTip.ToString())
                                {
                                    ka.delete(preuzimaci[i]);
                                    System.Windows.MessageBox.Show("Preuzimac uspješno izbrisan!", "Preuzimac izbrisan", MessageBoxButton.OK, MessageBoxImage.Information);
                                }
                            }
                        if (itsradnici != null)
                            for (int i = 0; i < preuzimaci.Count; i++)
                            {
                                if (itsradnici[i].Id.ToString() == b.ToolTip.ToString())
                                {
                                    ka1.delete(itsradnici[i]);
                                    System.Windows.MessageBox.Show("Zaposlenik uspješno izbrisan!", "Zaposlenik izbrisan", MessageBoxButton.OK, MessageBoxImage.Information);
                                }
                            }
                        if (obicni != null)
                            for (int i = 0; i < obicni.Count; i++)
                            {
                                if (obicni[i].Id.ToString() == b.ToolTip.ToString())
                                {
                                    ka2.delete(obicni[i]);
                                    System.Windows.MessageBox.Show("Zaposlenik uspješno izbrisan!", "Zaposlenik izbrisan", MessageBoxButton.OK, MessageBoxImage.Information);
                                }
                            }
                        if (efsektor != null)
                            for (int i = 0; i < efsektor.Count; i++)
                            {
                                if (efsektor[i].Id.ToString() == b.ToolTip.ToString())
                                {
                                    ka3.delete(efsektor[i]);
                                    System.Windows.MessageBox.Show("Zaposlenik uspješno izbrisan!", "Zaposlenik izbrisan", MessageBoxButton.OK, MessageBoxImage.Information);
                                }
                            }

                    }
                }

            }
            catch(Exception){}

            
        }


        private void dodaj_Click(object sender, RoutedEventArgs e)
        {
            DAL.DAL.OZaposlenikDAO oz = new DAL.DAL.OZaposlenikDAO();
            DAL.DAL.PreuzimacDAO pr = new DAL.DAL.PreuzimacDAO();
            DAL.DAL.ITSektorRadnikDAO it = new DAL.DAL.ITSektorRadnikDAO();
            DAL.DAL.EFSRadnikDAO ef = new DAL.DAL.EFSRadnikDAO();
            
            if (String.IsNullOrEmpty(ime.Text))
            {
                ime.BorderBrush = Brushes.Red;
                ime.ToolTip = "Morate unijeti ime klijenta!";
            }
            else
            {
                ime.BorderBrush = SystemColors.ControlDarkBrush;
                ime.ToolTip = null;
                if (String.IsNullOrEmpty(prezime.Text))
                {
                    prezime.BorderBrush = Brushes.Red;
                    prezime.ToolTip = "Morate unijeti prezime klijenta!";
                }
                else
                {
                    prezime.BorderBrush = SystemColors.ControlDarkBrush;
                    prezime.ToolTip = null;
                    bool sveBrojevi = true;
                    for (int i = 0; i < jmbg.Text.Count(); i++)
                    {
                        if (Char.IsDigit(jmbg.Text[i]) == false)
                        {
                            sveBrojevi = false;
                            break;
                        }
                    }
                    if (String.IsNullOrEmpty(jmbg.Text) || jmbg.Text.Count() != 13 || sveBrojevi == false)
                    {
                        jmbg.BorderBrush = Brushes.Red;
                        jmbg.ToolTip = "Neispravan unos jmbg klijenta!";
                    }
                    else
                    {
                        jmbg.BorderBrush = SystemColors.ControlDarkBrush;
                        jmbg.ToolTip = null;
                        if (String.IsNullOrEmpty(funkcije.Text))
                        {
                            funkcije.BorderBrush = Brushes.Red;
                            funkcije.ToolTip = "Morate izabrati status klijenta!";
                        }
                        else
                        {
                            funkcije.BorderBrush = SystemColors.ControlDarkBrush;
                            funkcije.ToolTip = "";

                            List<ITSektorRadnik> li = null;
                            List<Preuzimac> lp = null;
                            List<EFSRadnik> le = null;
                            List<OZaposlenik> lo = null;

                            if (funkcije.Text == "Preuzimac") lp = pr.getAll();
                            else if (funkcije.Text == "ITSektor") li = it.getAll();
                            else if (funkcije.Text == "EFSektor") le = ef.getAll();
                            else if (funkcije.Text == "Obicni zaposlenik") lo = oz.getAll();

                            bool ispravan = true;
                            if (String.IsNullOrEmpty(username.Text))
                                ispravan = false;
                            if(li != null) foreach (ITSektorRadnik k in li)
                            {
                                if (k.Username == username.Text)
                                {
                                    ispravan = false;
                                    break;
                                }
                            }
                            else if (lp != null) foreach (Preuzimac k in lp)
                                {
                                    if (k.Username == username.Text)
                                    {
                                        ispravan = false;
                                        break;
                                    }
                                }
                            else if (le != null) foreach (EFSRadnik k in le)
                                {
                                    if (k.Username == username.Text)
                                    {
                                        ispravan = false;
                                        break;
                                    }
                                }

                            else if (lo != null) foreach (OZaposlenik k in lo)
                                {
                                    if (k.Username == username.Text)
                                    {
                                        ispravan = false;
                                        break;
                                    }
                                }

                            if (filijale.SelectedIndex == -1)
                            {
                                filijale.BorderBrush = Brushes.Red;
                                filijale.ToolTip = "Odaberite filijalu";
                            }
                            else
                            {
                                filijale.BorderBrush = SystemColors.ControlDarkBrush;
                                filijale.ToolTip = null;
                            }


                            if (ispravan == false)
                            {
                                username.BorderBrush = Brushes.Red;
                                username.ToolTip = "Username je već zauzet!";
                            }
                            else
                            {
                                username.BorderBrush = SystemColors.ControlDarkBrush;
                                username.ToolTip = null;
                                if (password.Text.Count() < 5)
                                {
                                    password.BorderBrush = Brushes.Red;
                                    password.ToolTip = "Password mora imati barem 4 karaktera!";
                                }
                                else
                                {
                                    password.BorderBrush = SystemColors.ControlDarkBrush;
                                    password.ToolTip = null;

                                    int? p = pop.Value;
                                    double _plata = (double)p.Value;

                                    try
                                    {

                                        if (li != null) it.create(new ITSektorRadnik(0, username.Text, ime.Text, prezime.Text, jmbg.Text, password.Text, (double)pop.Value, (filijale.SelectedItem as Filijala).Id));
                                        if (lp != null) pr.create(new Preuzimac(0, username.Text, ime.Text, prezime.Text, jmbg.Text, password.Text, _plata, (filijale.SelectedItem as Filijala).Id));
                                        if (lo != null) oz.create(new OZaposlenik(0, username.Text, ime.Text, prezime.Text, jmbg.Text, password.Text, _plata, (filijale.SelectedItem as Filijala).Id, "Obicni"));
                                        if (le != null) ef.create(new EFSRadnik(0, username.Text, ime.Text, prezime.Text, jmbg.Text, password.Text, _plata, (filijale.SelectedItem as Filijala).Id));


                                        System.Windows.MessageBox.Show("Uspješno ste dodali novog zaposlenika", "Zaposlenik dodan", MessageBoxButton.OK, MessageBoxImage.Information);

                                    }
                                    catch (Exception ex)
                                    {
                                        global::System.Windows.MessageBox.Show(ex.Message);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        private void CheckBox_Checked(object sender, RoutedEventArgs e)
        {
            ucitajZahtjeve();
        }

        private void napuniListu(List<CheckBox> ma)
        {
            ma.Add(jed);
            ma.Add(dva);
            ma.Add(tri);
           
            ma.Add(pet);
            ma.Add(sest);
        }

        private void kliker(object sender, RoutedEventArgs e)
        {
            Button dugme = sender as Button;
            dugme.Background = Brushes.Red;
            dugme.Foreground = Brushes.White;
            dugme.FontWeight = FontWeights.Bold;
            foreach (Button x in prob.Children)
            {
                if (x.ToolTip.ToString() != dugme.ToolTip.ToString())
                {
                    x.Background = Brushes.White;
                    x.Foreground = Brushes.Black;
                    x.FontWeight = FontWeights.Normal;
                }
            }
        }       

        private void pretraga()
        {
            pretrazi();
            dugme.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.ApplicationIdle,
                    new WpfApplication25.Zaposlenicka.NextPrimeDelegate(this.pretraga));

        }

        int boj = 0;

        private void pretrazi()
        {
            if (preuzimaci != null && boj != preuzimaci.Count)
            {
                Button testni = new Button();
                testni.Height = 50;
                testni.Width = 100;
                testni.Click += kliker;
                testni.Background = Brushes.White;
                List<CheckBox> ceki = new List<CheckBox>();
                napuniListu(ceki);
                string parametar = "";
                for (int i = 0; i < ceki.Count; i++)
                {
                    if (ceki[i].IsChecked == true)
                    {
                        parametar = ceki[i].Content.ToString();
                        break;
                    }
                }
                switch (parametar)
                    {
                        case "Ime":
                            if (preuzimaci[boj].Ime == ba.Text)
                            {
                                testni.ToolTip = preuzimaci[boj].Id;
                                testni.Content = preuzimaci[boj].Ime + " " + preuzimaci[boj].Prezime;
                                prob.Children.Add(testni);
                            }
                            break;
                        case "Prezime":
                            if (preuzimaci[boj].Prezime == ba.Text)
                            {
                                testni.ToolTip = preuzimaci[boj].Id;
                                testni.Content = preuzimaci[boj].Ime + " " + preuzimaci[boj].Prezime;
                                prob.Children.Add(testni);
                            }
                            break;
                        case "JMBG":
                            if (preuzimaci[boj].Jmbg == ba.Text)
                            {
                                testni.ToolTip = preuzimaci[boj].Id;
                                testni.Content = preuzimaci[boj].Ime + " " + preuzimaci[boj].Prezime;
                                prob.Children.Add(testni);
                            }
                            break;                    
                        case "Username":
                            if (preuzimaci[boj].Username == ba.Text)
                            {
                                testni.ToolTip = preuzimaci[boj].Id;
                                testni.Content = preuzimaci[boj].Ime + " " + preuzimaci[boj].Prezime;
                                prob.Children.Add(testni);
                            }
                            break;
                        case "ID klijenta":
                            if (preuzimaci[boj].Id.ToString() == ba.Text)
                            {
                                testni.ToolTip = preuzimaci[boj].Id;
                                testni.Content = preuzimaci[boj].Ime + " " + preuzimaci[boj].Prezime;
                                prob.Children.Add(testni);
                            }
                            break;
                }
                boj++;
            }
            else if (itsradnici != null && boj != itsradnici.Count)
            {
                Button testni = new Button();
                testni.Height = 50;
                testni.Width = 100;
                testni.Click += kliker;
                testni.Background = Brushes.White;
                List<CheckBox> ceki = new List<CheckBox>();
                napuniListu(ceki);
                string parametar = "";
                for (int i = 0; i < ceki.Count; i++)
                {
                    if (ceki[i].IsChecked == true)
                    {
                        parametar = ceki[i].Content.ToString();
                        break;
                    }
                }
                switch (parametar)
                {
                    case "Ime":
                        if (itsradnici[boj].Ime == ba.Text)
                        {
                            testni.ToolTip = itsradnici[boj].Id;
                            testni.Content = itsradnici[boj].Ime + " " + itsradnici[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Prezime":
                        if (itsradnici[boj].Prezime == ba.Text)
                        {
                            testni.ToolTip = itsradnici[boj].Id;
                            testni.Content = itsradnici[boj].Ime + " " + itsradnici[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "JMBG":
                        if (itsradnici[boj].Jmbg == ba.Text)
                        {
                            testni.ToolTip = itsradnici[boj].Id;
                            testni.Content = itsradnici[boj].Ime + " " + itsradnici[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Username":
                        if (itsradnici[boj].Username == ba.Text)
                        {
                            testni.ToolTip = itsradnici[boj].Id;
                            testni.Content = itsradnici[boj].Ime + " " + itsradnici[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "ID klijenta":
                        if (itsradnici[boj].Id.ToString() == ba.Text)
                        {
                            testni.ToolTip = itsradnici[boj].Id;
                            testni.Content = itsradnici[boj].Ime + " " + itsradnici[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                }
                boj++;
            }
            else if (obicni != null && boj != obicni.Count)
            {
                Button testni = new Button();
                testni.Height = 50;
                testni.Width = 100;
                testni.Click += kliker;
                testni.Background = Brushes.White;
                List<CheckBox> ceki = new List<CheckBox>();
                napuniListu(ceki);
                string parametar = "";
                for (int i = 0; i < ceki.Count; i++)
                {
                    if (ceki[i].IsChecked == true)
                    {
                        parametar = ceki[i].Content.ToString();
                        break;
                    }
                }
                switch (parametar)
                {
                    case "Ime":
                        if (obicni[boj].Ime == ba.Text)
                        {
                            testni.ToolTip = obicni[boj].Id;
                            testni.Content = obicni[boj].Ime + " " + obicni[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Prezime":
                        if (obicni[boj].Prezime == ba.Text)
                        {
                            testni.ToolTip = obicni[boj].Id;
                            testni.Content = obicni[boj].Ime + " " + obicni[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "JMBG":
                        if (obicni[boj].Jmbg == ba.Text)
                        {
                            testni.ToolTip = obicni[boj].Id;
                            testni.Content = obicni[boj].Ime + " " + obicni[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Username":
                        if (obicni[boj].Username == ba.Text)
                        {
                            testni.ToolTip = obicni[boj].Id;
                            testni.Content = obicni[boj].Ime + " " + obicni[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "ID klijenta":
                        if (obicni[boj].Id.ToString() == ba.Text)
                        {
                            testni.ToolTip = obicni[boj].Id;
                            testni.Content = obicni[boj].Ime + " " + obicni[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                }
                boj++;
            }
            else if (efsektor != null && boj != efsektor.Count)
            {
                Button testni = new Button();
                testni.Height = 50;
                testni.Width = 100;
                testni.Click += kliker;
                testni.Background = Brushes.White;
                List<CheckBox> ceki = new List<CheckBox>();
                napuniListu(ceki);
                string parametar = "";
                for (int i = 0; i < ceki.Count; i++)
                {
                    if (ceki[i].IsChecked == true)
                    {
                        parametar = ceki[i].Content.ToString();
                        break;
                    }
                }
                switch (parametar)
                {
                    case "Ime":
                        if (efsektor[boj].Ime == ba.Text)
                        {
                            testni.ToolTip = efsektor[boj].Id;
                            testni.Content = efsektor[boj].Ime + " " + efsektor[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Prezime":
                        if (efsektor[boj].Prezime == ba.Text)
                        {
                            testni.ToolTip = efsektor[boj].Id;
                            testni.Content = efsektor[boj].Ime + " " + efsektor[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "JMBG":
                        if (efsektor[boj].Jmbg == ba.Text)
                        {
                            testni.ToolTip = efsektor[boj].Id;
                            testni.Content = efsektor[boj].Ime + " " + efsektor[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "Username":
                        if (efsektor[boj].Username == ba.Text)
                        {
                            testni.ToolTip = efsektor[boj].Id;
                            testni.Content = efsektor[boj].Ime + " " + efsektor[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                    case "ID klijenta":
                        if (efsektor[boj].Id.ToString() == ba.Text)
                        {
                            testni.ToolTip = efsektor[boj].Id;
                            testni.Content = efsektor[boj].Ime + " " + efsektor[boj].Prezime;
                            prob.Children.Add(testni);
                        }
                        break;
                }
                boj++;
            }


        }

        List<Preuzimac> preuzimaci = null;
        List<ITSektorRadnik> itsradnici = null;
        List<OZaposlenik> obicni = null;
        List<EFSRadnik> efsektor = null;

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            preuzimaci = null;
            obicni = null;
            efsektor = null;
            itsradnici = null;
                if (String.IsNullOrEmpty(ba.Text))
                {
                    ba.BorderBrush = Brushes.Red;
                    ba.ToolTip = "Niste unijeli podatak za pretragu!";
                }
                else
                {
                    ba.BorderBrush = SystemColors.ControlDarkBrush;
                    ba.ToolTip = null;
                    bool postavljen = false;
                    List<CheckBox> lista = new List<CheckBox>();
                    napuniListu(lista);
                    foreach (CheckBox sarma in lista)
                    {
                        if (sarma.IsChecked == true)
                        {
                            postavljen = true;
                            break;
                        }
                    }
                    if (postavljen == false)
                    {
                        System.Windows.MessageBox.Show("Morate izabrati parametar pretrage!", "Greška pretrage", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    else
                    {
                        prob.Children.Clear();
                        if (prChc.IsChecked.Value == true)
                        {
                            DAL.DAL.PreuzimacDAO klijeD = new DAL.DAL.PreuzimacDAO();

                            preuzimaci = klijeD.getAll();

                            dugme.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new WpfApplication25.Zaposlenicka.NextPrimeDelegate(pretraga));

                        }
                        else if (itChc.IsChecked.Value == true)
                        {
                            DAL.DAL.ITSektorRadnikDAO klijeD = new DAL.DAL.ITSektorRadnikDAO();

                            itsradnici = klijeD.getAll();

                            dugme.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new WpfApplication25.Zaposlenicka.NextPrimeDelegate(pretraga));

                        }

                        else if (osChc.IsChecked.Value == true)
                        {
                            DAL.DAL.OZaposlenikDAO klijeD = new DAL.DAL.OZaposlenikDAO();

                            obicni = klijeD.getAll();

                            dugme.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new WpfApplication25.Zaposlenicka.NextPrimeDelegate(pretraga));

                        }
                        else if (efChc.IsChecked.Value == true)
                        {
                            DAL.DAL.EFSRadnikDAO klijeD = new DAL.DAL.EFSRadnikDAO();

                            efsektor = klijeD.getAll();

                            dugme.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new WpfApplication25.Zaposlenicka.NextPrimeDelegate(pretraga));

                        }



                    
                }
            }
            
        }

        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            DAL.DAL.zahtjevDAO f = new DAL.DAL.zahtjevDAO();

            if (pzahtjevi.SelectedIndex != -1)
            {
                zahtjevPolice zz = (pzahtjevi.SelectedItem as zahtjevPolice);
                zz.Odobrena = false;
                f.update(zz);
                global::System.Windows.MessageBox.Show("Odbili ste zahtjev");
                ucitajZahtjeve();
            }
            else
                global::System.Windows.MessageBox.Show("Odaberite zahtjev");
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            DAL.DAL.zahtjevDAO f = new DAL.DAL.zahtjevDAO();

            if (pzahtjevi.SelectedIndex != -1)
            {
                zahtjevPolice zz = (pzahtjevi.SelectedItem as zahtjevPolice);
                zz.Odobrena = true;
                f.update(zz);
                global::System.Windows.MessageBox.Show("Odobrili ste zahtjev");
                ucitajZahtjeve();
            }
            else
                global::System.Windows.MessageBox.Show("Odaberite zahtjev");

        }

        private void filijala_Click(object sender, RoutedEventArgs e)
        {
            DAL.DAL.FilijalaDAO f = new DAL.DAL.FilijalaDAO();

            if (lokacija.Text == "")
            {
                lokacija.BorderBrush = Brushes.Red;
                lokacija.ToolTip = "Neispravan unos lokacije";
            }
            else
            {
                lokacija.BorderBrush = SystemColors.ControlDarkBrush;
                lokacija.ToolTip = null;

                try
                {
                    f.create(new Filijala(1, lokacija.Text, police.Value.Value, trazene.Value.Value, iskoristene.Value.Value));
                    global::System.Windows.MessageBox.Show("Dodali ste filijalu");
                }
                catch (Exception exx)
                { global::System.Windows.MessageBox.Show(exx.Message); }
            }
                        

        }

        private void noviCh_Checked(object sender, RoutedEventArgs e)
        {
            ucitajZahtjeve();
        }

        private void odobreniCh_Checked(object sender, RoutedEventArgs e)
        {
            ucitajZahtjeve();
        }

        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            int indeks = 0;
            foreach (Button b in prob.Children)
            {
                if (b.FontWeight == FontWeights.Bold)
                {
                    if (prChc.IsChecked.Value == true)
                        for (int i = 0; i < preuzimaci.Count; i++)
                        {
                            if (preuzimaci[i].Id.ToString() == b.ToolTip.ToString())
                            {
                                indeks = i;
                                break;
                            }
                        }
                    if (itChc.IsChecked.Value == true)
                        for (int i = 0; i < itsradnici.Count; i++)
                        {
                            if (itsradnici[i].Id.ToString() == b.ToolTip.ToString())
                            {
                                indeks = i;
                                break;
                            }
                        }
                    if (osChc.IsChecked.Value == true)
                        for (int i = 0; i < obicni.Count; i++)
                        {
                            if (obicni[i].Id.ToString() == b.ToolTip.ToString())
                            {
                                indeks = i;
                                break;
                            }
                        }
                    if (efChc.IsChecked.Value == true)
                    {
                        for (int i = 0; i < efsektor.Count; i++)
                        {
                            if (efsektor[i].Id.ToString() == b.ToolTip.ToString())
                            {
                                indeks = i;
                                break;
                            }
                        }
                    }
                }
            }

            int index = indeks;
                promjenaZ p = null;
                if (osChc.IsChecked.Value == true && obicni.Count > 0)
                    p = new promjenaZ(obicni[index] );
                if (prChc.IsChecked.Value == true && preuzimaci.Count > 0)
                    p = new promjenaZ(preuzimaci[index]);
                if (itChc.IsChecked.Value == true && itsradnici.Count > 0)
                    p = new promjenaZ(itsradnici[index]);
                if (efChc.IsChecked.Value == true && efsektor.Count > 0)
                    p = new promjenaZ(efsektor[index]);

                p.Show();
            }
        }

    }

